home *** CD-ROM | disk | FTP | other *** search
/ Aminet 2 / Aminet AMIGA CDROM (1994)(Walnut Creek)[Feb 1994][W.O. 44790-1].iso / Aminet / comm / mail / smailsrc.lha / SMail / install-smail next >
Text File  |  1993-11-16  |  15KB  |  558 lines

  1. ;
  2. ; Script to install SMail
  3. ;
  4. ;=================== init ===============
  5.  
  6. (complete 0)
  7. (set default-dest "uucp:c")
  8. (set @app-name "SMail")
  9. (set @default-dest "UUCP:C")
  10. (set need-version 37)
  11.  
  12. (welcome "    Welcome to " @app-name " installation.\n")
  13.  
  14. (set exec-version (/ (getversion) 65536))
  15. (if (< exec-version need-version)    ; check operating system version
  16.      ((message @app-name " needs at least Exec version " need-version
  17.            " to run.\nYou have only version " exec-version ".\n"
  18.            "You can proceed with the installation, but consider "
  19.            "installing the " @app-name " with proper version of "
  20.            "the operating system."
  21.            (help
  22.         "    The " @app-name " uses some system functions "
  23.         "that are not present or functional in earlier system "
  24.         "versions. Consider updating your system.\n"
  25.         "    If you have a later version of operating system "
  26.         "and are only now using older version: be sure to use "
  27.         "only release 2.04 or newer with " @app-name ". "
  28.         "No damage happens if you run " @app-name " with an "
  29.         "earlier operating system, however. It just "
  30.         "refuses to start.\n"))))
  31.  
  32. ;=================== search assings ==========
  33. (if (= @user-level 2)
  34.     (set UULIB
  35.     (askdir
  36.         (prompt "Where do you keep your uucp configs ?")
  37.         (help @askdir-help)
  38.         (default "UULIB:")
  39.     )
  40.     )
  41.     (set UULIB "UULIB:")
  42. )
  43.  
  44.  
  45. (if (= @user-level 2)
  46.     (set UUBIN
  47.     (askdir
  48.         (prompt "Where do you keep your uucp binarys ?")
  49.         (help @askdir-help)
  50.         (default "UUCP:C")
  51.     )
  52.     )
  53.     (set UUBIN "UUCP:C")
  54. )
  55.  
  56. (if (= @user-level 2)
  57.     (set UUSPOOL
  58.     (askdir
  59.         (prompt "Where do you keep your uucp spool files ?")
  60.         (help @askdir-help)
  61.         (default "UUSPOOL:")
  62.     )
  63.     )
  64.     (set UUSPOOL "UUSPOOL:")
  65. )
  66. (set @default-dest UUBIN)
  67.  
  68. (set sendmail (tackon UUBIN "sendmail"))
  69. (set rmail (tackon UUBIN "rmail"))
  70. (set mail (tackon UUBIN "mail"))
  71. (set smail (tackon UUBIN "smail"))
  72. (set rsmtp (tackon UUBIN "rsmtp"))
  73. (set rcsmtp (tackon UUBIN "rcsmtp"))
  74. (set rfsmtp (tackon UUBIN "rfsmtp"))
  75. (set batch_smtp (tackon UUBIN "batch_smtp"))
  76.  
  77. ;================= backup existings files ==========
  78. (if (exists mail)
  79.     (copyfiles
  80.     (prompt "Backup original programs from " UUBIN)
  81.     (help @copyfiles-help)
  82.     (source mail)
  83.     (dest "t:")
  84.     (infos)
  85.     (confirm)
  86.     )
  87. )
  88.  
  89. (if (exists rsmtp)
  90.     (copyfiles
  91.     (prompt "Backup original programs from " UUBIN)
  92.     (help @copyfiles-help)
  93.     (source rsmtp)
  94.     (dest "t:")
  95.     (infos)
  96.     (confirm)
  97.     )
  98. )
  99.  
  100. (if (exists rcsmtp)
  101.     (copyfiles
  102.     (prompt "Backup original programs from " UUBIN)
  103.     (help @copyfiles-help)
  104.     (source rcsmtp)
  105.     (dest "t:")
  106.     (infos)
  107.     (confirm)
  108.     )
  109. )
  110.  
  111. (if (exists rfsmtp)
  112.     (copyfiles
  113.     (prompt "Backup original programs from " UUBIN)
  114.     (help @copyfiles-help)
  115.     (source rfsmtp)
  116.     (dest "t:")
  117.     (infos)
  118.     (confirm)
  119.     )
  120. )
  121.  
  122. (if (exists rmail)
  123.     (copyfiles
  124.     (prompt "Backup original programs from " UUBIN)
  125.     (help @copyfiles-help)
  126.     (source rmail)
  127.     (dest "t:")
  128.     (infos)
  129.     (confirm)
  130.     )
  131. )
  132.  
  133. (if (exists sendmail)
  134.     (copyfiles
  135.     (prompt "Backup original programs from " UUBIN)
  136.     (help @copyfiles-help)
  137.     (source sendmail)
  138.     (dest "t:")
  139.     (infos)
  140.     (confirm)
  141.     )
  142. )
  143.  
  144. (if (exists batch_smtp)
  145.     (copyfiles
  146.     (prompt "Backup original programs from " UUBIN)
  147.     (help @copyfiles-help)
  148.     (source batch_smtp)
  149.     (dest "t:")
  150.     (infos)
  151.     (confirm)
  152.     )
  153. )
  154.  
  155. ;================ delete old files ================
  156. (complete 20)
  157.  
  158. (debug (run (cat "delete force "mail)))
  159. (debug (run (cat "delete force "smail)))
  160. (debug (run (cat "delete force "rsmtp)))
  161. (debug (run (cat "delete force "rcsmtp)))
  162. (debug (run (cat "delete force "rfsmtp)))
  163. (debug (run (cat "delete force "sendmail)))
  164.  
  165. ;================ copy files to uubin =============
  166. (complete 25)
  167. (set axsh 0)
  168. (set choice (askchoice
  169.         (prompt " Do you want to install the AXSh versions of SMail/RMail ?")
  170.         (choices "Getty" "AXSh" "MultiUserFilesystem")
  171.         (default 0)
  172.         (help "Getty\n"
  173.  "Insert all users of your site in getty:passwd. Insert in "
  174.  "the comment part the realname of the user.This is only "
  175.  "important for the Realname if you donnot use the local "
  176.  "enviroment variable REALNAME. Besides smail takes the home-directory "
  177.  "for `Mail forwarding' from the getty's passwd.\n"
  178.  "AXSh\n"
  179.  "These programs use the AXSh passwd instead of Gettys passwd.\n"
  180.  "MUFS\n"
  181.  "These programs use the MUFS passwd instead of Gettys passwd.")))
  182. (if (= choice 0)
  183.     (copyfiles
  184.             (prompt "Install Getty programs...")
  185.             (help @copyfiles-help)
  186.            (source "bin")
  187.             (dest UUBIN)
  188.             (choices "smail" "mail" "convert" "batch_smtp")
  189.             (infos)
  190.             (confirm))
  191. )
  192.  
  193. (if (= choice 1)
  194.     (
  195.     (copyfiles
  196.             (prompt "Install AXSh programs...")
  197.             (help @copyfiles-help)
  198.            (source "bin")
  199.             (dest UUBIN)
  200.             (choices "smail_axsh" "mail_axsh" "convert" "batch_smtp")
  201.             (infos)
  202.             (confirm))
  203.              (set smail2 (tackon UUBIN "smail_axsh"))
  204.              (set mail2 (tackon UUBIN "mail_axsh"))
  205.              (set axsh 1)
  206.              (debug (run (cat "c:rename from="smail2" to="smail)))
  207.              (debug (run (cat "c:rename from="mail2" to="mail)))
  208.     )
  209. )
  210.  
  211. (if (= choice 2)
  212.     (
  213.     (copyfiles
  214.             (prompt "Install MUFS programs...")
  215.             (help @copyfiles-help)
  216.            (source "bin")
  217.             (dest UUBIN)
  218.             (choices "smail_mufs" "mail_mufs" "convert" "batch_smtp")
  219.             (infos)
  220.             (confirm))
  221.              (set smail2 (tackon UUBIN "smail_mufs"))
  222.              (set mail2 (tackon UUBIN "mail_mufs"))
  223.              (set axsh 1)
  224.              (debug (run (cat "c:rename from="smail2" to="smail)))
  225.              (debug (run (cat "c:rename from="mail2" to="mail)))
  226.     )
  227. )
  228.  
  229. ;================== generate rmail and sendmail =================
  230. (complete 60)
  231. (debug (run (cat "delete force "rmail)))
  232. (debug (run (cat "delete force "sendmail)))
  233. (if (= 0 (askchoice
  234.             (prompt "sendmail, rmail, rsmtp, rcsmtp and rfsmtp\nare the same programs as smail\n")
  235.             (choices "generate a hardlink"
  236.                  "generate copies")
  237.             (default 0)
  238.             (help "If you use Hardlinks there could(!) be problems with "
  239.                 "your filesystem, because hardlinks are not fully "
  240.                 "supported by the OS.")
  241.           )
  242.     )
  243.     (
  244.     (debug (run (cat "c:Makelink to="smail" from="rmail)))
  245.     (debug (run (cat "c:Makelink to="smail" from="sendmail)))
  246.     (debug (run (cat "c:Makelink to="smail" from="rsmtp)))
  247.     (debug (run (cat "c:Makelink to="smail" from="rcsmtp)))
  248.     (debug (run (cat "c:Makelink to="smail" from="rfsmtp)))
  249.     )
  250.     (
  251.     (debug (run (cat "c:copy clone from="smail" to="rmail)))
  252.     (debug (run (cat "c:copy clone from="smail" to="sendmail)))
  253.     (debug (run (cat "c:copy clone from="smail" to="rsmtp)))
  254.     (debug (run (cat "c:copy clone from="smail" to="rcsmtp)))
  255.     (debug (run (cat "c:copy clone from="smail" to="rfsmtp)))
  256.     )
  257. )
  258. ;=================== generate the uulib:config entries ==========
  259. (complete 80)
  260.  
  261. (set tmp (tackon UULIB "mail"))
  262. (if (NOT (= (exists tmp (noreq)) 2))
  263.     (debug (run (cat "makedir " tmp)))
  264. )
  265.  
  266. (set tmp (tackon UUSPOOL "batch"))
  267. (if (NOT (= (exists tmp (noreq)) 2))
  268.     (debug (run (cat "makedir " tmp)))
  269. )
  270.  
  271. (set line1
  272.  (askstring
  273.   (prompt "The name of your smarthost (with domain)?")
  274.    (default "foo.bar")
  275.    (help "The host, that receives all mails from you, "
  276.          "which can't be found in the path file")
  277.   )
  278. )
  279.  
  280. (set line2
  281.  (askfile
  282.   (prompt "Where should the DillonUUCP styled logfile should go (use a emtpy string for NIL:)?\n")
  283.   (help "You can use your normal DillonUUCP logfile uuspool:logfile "
  284.         "or define a new one. Don't forget from time to time to trim this file.")
  285.   (default "uuspool:logfile")
  286.  )
  287. )
  288.  
  289. (set line3
  290.  (askfile
  291.   (prompt "Where should the CNews styled logfile should go (use a emtpy string for NIL:)? ")
  292.   (help "It uses nearly the same syntax as CNews. The main difference "
  293.         "to DillonUUCP styled logfile is, that you can see, whether "
  294.         "a mail transport was successful.")
  295.   (default "uulib:mail/logfile")
  296.  )
  297. )
  298.  
  299. (set line4
  300.  (askfile
  301.   (prompt "Where should the logfile with the full mailbody should go (use a emtpy string for NIL:)?")
  302.   (help "In this logfile smail logs all mail delivery with the fully mail "
  303.         "body. Normally you should only use this option for debugging")
  304.   (default "t:smail.log")
  305.  )
  306. )
  307.  
  308. (if (= 0 axsh)
  309.     (set line5
  310.      (askfile
  311.           (prompt "Where is the Getty passwd file ?\n")
  312.         (help "GETTY:PASSWD is similar to the UNIX /etc/passwd file and is "
  313.             "currently used by Getty to verify remote logins and run the "
  314.              "appropriate 'shell', which in most cases will be uucico.  The "
  315.              "format is:\n\n"
  316.             "------ start of GETTY:PASSWD -----\n"
  317.             "# Put any comment here\n"
  318.             "#\n"
  319.             "# User,Password,Uid,GroupId,Finger-Info,Home-Dir,Command-To-Run\n"
  320.             "bbs,*,10,0,BBS,ram:,mybbs:c/mybbs\n")
  321.         (default "getty:passwd")
  322.       )
  323.     )
  324. )
  325.  
  326. (set line6
  327.  (askfile
  328.   (prompt "Where is your alias file ?\n")
  329.   (help "This file contains a list of aliases for local users or "
  330.         "mailing lists.  The format of each alias is\n"
  331.         "    alias_name recip_name1 recip_name2 ... ")
  332.   (default "uulib:mail/aliases")
  333.  )
  334. )
  335.  
  336. (set line12
  337.  (askfile
  338.   (prompt "Where is/should your  path file ?\n")
  339.   (help "Look at smail.guide for more help")
  340.   (default "uulib:mail/paths")
  341.  )
  342. )
  343.  
  344. (set line7
  345.  (askchoice
  346.   (choices "use rerouting" "don't use rerouting" "don't route anything")
  347.   (prompt "Rerouting ability ?\n")
  348.   (help " 'don't use rerouting' causes smail/rmail to attempt to route the first "
  349.         " component of a UUCP path, probably so it can impress people "
  350.         " with how many UUCP hosts it knows.  If this fails, it passes "
  351.         " the unrouted address to uux, in case the path database is "
  352.         " not complete.  'use rerouting' causes smail/rmail to take a UUCP "
  353.         " path and route the rightmost component of the path (save the "
  354.         " user name) possible.  This is mostly for hosts that have "
  355.         " very up-to-date routing tables.")
  356.   (default 0)
  357.  )
  358. )
  359.  
  360. (set line8
  361.  (if
  362.   (= 0
  363.    (askchoice
  364.     (choices "Return-To-Receipt Headers"  "ignore Return-To-Receipt Headers")
  365.     (prompt "Return-To-Receipt Headers...\n")
  366.     (help "smail/rmail will send an mail with a copy of the header "
  367.           "of the original mail to the address after the Return-To-Receipt: "
  368.           "Header. You can turn this off via the SMReceipt keyword in the "
  369.           "uulib:config file. See smail.guide for the recognition "
  370.           "whether a user exists on your site.")
  371.     (default 0)
  372.    )
  373.   )
  374.   ("Yes")
  375.   ("No")
  376.  )
  377. )
  378.  
  379. (set nr
  380.  (askchoice
  381.     (choices "compress" "gzip" "freeze" "none")
  382.     (prompt "Which command should smail/rmail\nuse to compress the BSMTP mails ?\n")
  383.     (help "The command to compress your BSMTP mails. "
  384.           "The command is:\nexecute cmd <infile >outfile")
  385.     (default 1)
  386.    )
  387. )
  388.  
  389. (if (<> 3 nr)
  390.  (set line9
  391.   (askfile
  392.    (prompt "Where is your compress command ?\n")
  393.    (help "I need the complete path of the command. ")
  394.    (default "compress")
  395.   )
  396.  )
  397. )
  398.  
  399. ; compress
  400. (if (= 0 nr)
  401.      (set line10 "rcsmtp")
  402. )
  403. ; gzip
  404. (if (= 1 nr)
  405.      (set line10 "rcsmtp")
  406. )
  407. ; freeze
  408. (if (= 2 nr)
  409.      (set line10 "rfsmtp")
  410. )
  411. ; none
  412. (if (= 3 nr)
  413.      (set line10 "rsmtp")
  414. )
  415.  
  416. (set line11
  417.  (askfile
  418.   (prompt "Where is the file, with your BSMTP sites ?\n")
  419.   (help "The file with all hosts, which receives mails via BSMTP. Simply one site by every line.")
  420.   (default "uulib:mail/bsmtp_sites")
  421.  )
  422. )
  423.  
  424. (set line12
  425.  (if
  426.   (= 0
  427.    (askchoice
  428.     (choices "no restrictions"  "restrictions")
  429.     (prompt "Smail offers you the opportunity to allow only "
  430.             "to some local users to write mail via UUCP/BSMTP")
  431.     (help   "See smail.guide")
  432.     (default 0)
  433.    )
  434.   )
  435.   ("No")
  436.   ("Yes")
  437.  )
  438. )
  439.  
  440. (if (<> choice 2)
  441.  (if (= line12 "Yes")
  442.   (set line13
  443.    (askfile
  444.     (prompt "Where is the file, with your local users which are allowed to mail outsite your site?")
  445.     (help "The file with all users which are allowed to mail via UUCP/BSMTP. Simply one user by every line.")
  446.     (default "uulib:mail/checkuser")
  447.    )
  448.   )
  449.  )
  450. )
  451.  
  452. (textfile
  453.  (dest "t:add_to_config")
  454.  (prompt "Generating new "UULIB"config file")
  455.  (include (tackon UULIB "config"))
  456.  (append "\n# Options for SMail\n")
  457.  (append "SMSmarthost ")
  458.  (append line1)
  459.  (append "\n")
  460.  (append "SMLogfile ")
  461.  (if (= "" line2)
  462.      (append "NIL:")
  463.      (append line2)
  464.  )
  465.  (append "\n")
  466.  (append "SMMaillogfile ")
  467.  (if (= "" line3)
  468.      (append "NIL:")
  469.      (append line3)
  470.  )
  471.  (append "\n")
  472.  (append "SMSentlog ")
  473.  (if (= "" line4)
  474.      (append "NIL:")
  475.      (append line4)
  476.  )
  477.  (append "\n")
  478.  (append "SMAlias ")
  479.  (append line6)
  480.  (append "\n")
  481.  (if (= 0 axsh)
  482.       (
  483.      (append "SMPasswd ")
  484.      (append line5)
  485.      (append "\n")
  486.      )
  487.  )
  488.  (append "SMPath ")
  489.  (append line12)
  490.  (append "\n")
  491.  (append "SMRerouting ")
  492.  (append line7)
  493.  (append "\n")
  494.  (append "SMReceipt ")
  495.  (append line8)
  496.  (append "\n")
  497.  (if (<> nr 3)
  498.      (
  499.      (append "SMCompress ")
  500.      (append line9)
  501.      (append "\n")
  502.     )
  503.  )
  504.  (append "SMBsmtpCmd ")
  505.  (append line10)
  506.  (append "\n")
  507.  (append "SMBsmtpSites ")
  508.  (append line11)
  509.  (append "\n")
  510.  (append "SMCheckuser ")
  511.  (append line12)
  512.  (append "\n")
  513.  (if (<> choice 2)
  514.   (if (= line12 "Yes")
  515.    (
  516.    (append "SMCheckFile ")
  517.    (append line13)
  518.    (append "\n")
  519.    )
  520.   )
  521.  )
  522. )
  523.  
  524. (run "copy uulib:config uulib:config.o")
  525. (run "copy t:add_to_config uulib:config")
  526. (run "delete t:add_to_config")
  527.  
  528. ;=================== showing AmigaGuide ==================
  529. (run "run AmigaGuide smail.guide"
  530.     (prompt "Running AmigaGuide smail.guide.")
  531.     (safe)
  532. )
  533.  
  534. ;=================== sending the accounting mail =========
  535. (debug (run ("c:echo >t:smail_version")))
  536. (debug (run ("c:echo >>t:smail_version \"Version strings of the commands\"")))
  537. (debug (run (cat "c:Version >>t:smail_version full "smail)))
  538. (debug (run (cat "c:Version >>t:smail_version full "mail)))
  539. (debug (run (cat "c:Version >>t:smail_version full "batch_smtp)))
  540.  
  541. (debug (run ("c:echo >t:smail_run stack 80000")))
  542. (debug (run (cat "c:echo >>t:smail_run \""sendmail" <t:smail_version -t smail@mavhh.hanse.de -s SMail_account_msg\"")))
  543.  
  544. (run ("c:execute t:smail_run sendmail"))
  545.  
  546. (run "c:delete t:smail_version")
  547. (run "c:delete t:smail_run")
  548.  
  549. (complete 100)
  550. (exit "SMail is now (hopefully correct) installed. "
  551.       "You should edit/setup the paths file. Please read the "
  552.       "\"Installation/Setup a pathfile\" section in smail.guide. "
  553.       "Copys of your previous smail/rmail etc programs can be found in t:.\n"
  554.       "Attention !!! This Installer script sends a mail with the version strings "
  555.       "of the installed programs to a special account (smail@mavhh.hanse.de) "
  556.       "at the site of the smail programmer. "
  557. )
  558.